package com.ztr.test;

public class EqualsVsEqualsExample {
    public static void main(String[] args) {  
        // 创建两个字符串对象，它们的内容相同但引用不同  
        String str1 = new String("hello");  
        String str2 = new String("hello");  
  
        // 使用 == 比较引用是否相同  
        System.out.println("str1 == str2: " + (str1 == str2)); // 输出 false，因为它们是两个不同的对象  
  
        // 使用 equals() 比较内容是否相同  
        System.out.println("str1.equals(str2): " + str1.equals(str2)); // 输出 true，因为它们的内容相同  
  
        // 创建两个整数对象，它们的值相同但引用可能不同（取决于JVM和整数值）  
        Integer num1 = 127;
        Integer num2 = 127;  
  
        // 使用 == 比较引用是否相同  
        System.out.println("num1 == num2: " + (num1 == num2)); // 可能输出 true 或 false，取决于JVM的实现和整数值  
  
        // 使用 equals() 比较值是否相同  
        System.out.println("num1.equals(num2): " + num1.equals(num2)); // 输出 true，因为它们的值相同  
    }  
}